home *** CD-ROM | disk | FTP | other *** search
- Warm JRAM3 Reboots from a Batch File
-
- TallTree's JRAM3 board comes with quite a bit of software,
- including the device driver JBOOT.BIN. Among its options is a
- warm reboot which will preserve the contents of a RAM disk.
- Unfotunately, the only way which TallTree offers to perform this
- reboot is with a Control-Alt-Delete. This note will tell you one
- way to warm reboot from a program if you have JBOOT.BIN, Version
- 3.41.
-
- Why would anyone want to do that? The main reason I can
- think of today would be to change one or more device drivers by
- using a different CONFIG.SYS. Until recently, rebooting was the
- only way to get rid of some memory resident programs. Now, with
- Kim Kokkonen's MARK and RELEASE and several other programs, you
- can control terninate-and-stay-resident programs without
- rebooting. I suppose that there are other reasons to reboot with
- a different AUTOEXEC.BAT file, but I can't think of them offhand.
-
- TallTree includes a program MAKEDOS.COM. MAKEDOS will let
- you set the size of RAM without changing your CONFIG.SYS file.
- It does this by rebooting and forcing memory to resize. You can
- specify the same size as you have by requesting 0 bytes of RAM,
- that is, "MAKEDOS 0". To get a warm reboot from "MAKEDOS 0", all
- you must do is change one instruction of JBOOT.BIN.
-
- TallTree also furnishes the source for JBOOT.BIN. When I
- reassembled it, I got the following excerpts:
- 037B makedos:
- 037B 0E push cs
- 037C 1F pop ds
- 037D 33 C0 xor ax,ax
- 037F 97 xchg ax,di
- 0380 0B C0 or ax,ax
- 0382 74 10 jz new58a
- (CHANGE TO jz warmreset)
- . . .
- 0398 EB 4A 90 jmp warmreset
-
- . . .
-
- 03E4 warmreset:
- 03E4 FA cli
- 03E5 FC cld
- 03E6 0E push cs
- 03E7 1F pop ds
- 03E8 B0 FD mov al,not bit1
- 03EA E6 21 out 21,al
-
- DON'T MODIFY YOUR ORIGINAL PROGRAM. If you ruin it, you
- could be in serious trouble.
-
- 1. "debug jboot.bin" on a copy of jboot.bin. Recall that debug
- adds 100 to all addresses.
-
- 2. "d478 483", then check that bytes 37B through 383 match.
- "d4E4 4EB", then check that bytes 3E4 through 3EB match.
-
- 3. If they match, "a 482", then "jz 4E4". If they don't, quit
- debug.
-
- 4. If they matched, "w" to write the file, then "q" to quit.
-
- 5. Check it out by manually rebooting with the new JBOOT.BIN,
- putting a file or two on your RAM disk if you have one, then
- entering "MAKEDOS 0" and checking your RAM disk and its files.
-
- If the program didn't match, you could reassemble and list
- JBOOT.ASM. I have not seen other versions, but perhaps they are
- very similar.
-
- I can't think of why I might want to force memory to resize
- to the same size as it is, so I can see no harm in the change.
- Your needs may be different.
-
- This patch has worked for me. I hope it does for you, but
- if it doesn't, I will accept no responsibility for any bad things
- which might happen because of it.
-
- Lew Paper
- 2/8/87